{
  "nbformat": 4,
  "nbformat_minor": 0,
  "metadata": {
    "colab": {
      "name": "2DHeat.ipynb",
      "provenance": [],
      "authorship_tag": "ABX9TyMPG0wFkDo7GM7W1NuR9TVi",
      "include_colab_link": true
    },
    "kernelspec": {
      "name": "python3",
      "display_name": "Python 3"
    }
  },
  "cells": [
    {
      "cell_type": "markdown",
      "metadata": {
        "id": "view-in-github",
        "colab_type": "text"
      },
      "source": [
        "<a href=\"https://colab.research.google.com/github/Divyanshu-ISM/Oil-and-Gas-data-analysis/blob/master/2DHeat.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>"
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "o7HTqPzGrFjb",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "import numpy as np\n",
        "import pandas as pd\n",
        "import matplotlib.pyplot as plt\n",
        "%matplotlib inline"
      ],
      "execution_count": 2,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "cK5jiMEQ4ABP",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "import pylab as pl\n",
        "from IPython import display\n",
        "import time"
      ],
      "execution_count": 20,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "5gIiYujO63E_",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "from ipywidgets import interact, interactive\n",
        "from IPython.display import clear_output, display, HTML"
      ],
      "execution_count": 36,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "H9ULfX8prRUh",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "#Parameters\n",
        "rho = 1\n",
        "cp = 1"
      ],
      "execution_count": 37,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "-m6j9hRzrnAe",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "#space domain\n",
        "Lx = 10\n",
        "Ly = 10\n",
        "Nx = 50\n",
        "Ny = 50\n",
        "dx = Lx/Nx\n",
        "dy = Ly/Ny\n",
        "\n",
        "#time domain\n",
        "Nt = 500\n",
        "\n",
        "#CFL\n",
        "c = 1\n",
        "C = 0.05\n",
        "dt = C*dx/c"
      ],
      "execution_count": 38,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "JLoHIoF_sFX2",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "#Field Variables.\n",
        "T = np.zeros((Nx,Ny))\n",
        "\n",
        "x = np.linspace(0,Lx,50)\n",
        "y = np.linspace(0,Ly,50)"
      ],
      "execution_count": 39,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "dDRvaP6Ss_lq",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "X,Y = np.meshgrid(x,y)"
      ],
      "execution_count": 40,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "7uC_Jo8OuSlU",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "#Initial Condition\n",
        "t = 0\n",
        "T[:,:] = 0"
      ],
      "execution_count": 54,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "khkcmT9Ou40x",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "#Defining Thermal conductivity as a function of space\n",
        "K = np.ones(np.shape(T))\n",
        "\n",
        "K[20:26,30:36] = 0.001"
      ],
      "execution_count": 55,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "Or6_qo8DvMCk",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 408
        },
        "outputId": "6b3f8a16-f2d7-4471-e226-b87c4c80e7de"
      },
      "source": [
        "plt.figure(figsize=(6,4))\n",
        "plt.style.use('default')\n",
        "plt.imshow(K, extent=[0,10,0,10])\n",
        "plt.colorbar()\n",
        "plt.title('Thermal Conductivity of the Plate')\n",
        "plt.scatter(7,3,color='red',marker='X',s=200)"
      ],
      "execution_count": 66,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "<matplotlib.collections.PathCollection at 0x7fdda9cff160>"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 66
        },
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\n",
            "text/plain": [
              "<Figure size 600x400 with 2 Axes>"
            ]
          },
          "metadata": {
            "tags": []
          }
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "CWq7EBVBviSc",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "#LOOP\n",
        "\n",
        "time = np.arange(0,10,dt)"
      ],
      "execution_count": 50,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "ikAbn0wSzVHL",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 469
        },
        "outputId": "f772944e-e3b9-468b-a364-f1b20f4aac66"
      },
      "source": [
        "plt.contourf(X,Y,T)\n",
        "plt.colorbar()\n",
        "plt.title('Initial Temperature Distribution (T=0 C)')"
      ],
      "execution_count": 75,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "Text(0.5, 1.0, 'Initial Temperature Distribution (T=0 C)')"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 75
        },
        {
          "output_type": "display_data",
          "data": {
            "image/png": "iVBORw0KGgoAAAANSUhEUgAAAhIAAAGzCAYAAAB6lf5pAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAPYQAAD2EBqD+naQAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nO3dd3xUdb7/8XcKTBJSDDWgQEJAKUGkCJK4lEuWchGWZQmyAlIU1A1CjCJEhYAIoYui0u4KXOmoqIuKRqQsUqQKKFUDRFaaQgJBEkjO7w9+meuQkPJlhkn09Xw8zuOR+c73zPczZ2Yy7znVw7IsSwAAAAY83V0AAAAovQgSAADAGEECAAAYI0gAAABjBAkAAGCMIAEAAIwRJAAAgDGCBAAAMEaQAAAAxggSt4GHh4fGjBlTpL6hoaHq379/scc4duyYPDw8tGDBgmLPi9+vNm3aqE2bNrdlrBvf52PGjJGHh4fOnTt3W8Y3/ew4y+TJk1W3bl3l5OS4rQZX6tWrl3r27OnuMlACESSKYMGCBfLw8NCOHTuc8nibN2/WmDFjdOHCBac8XlGFhobKw8Oj0OmPHEaWLFmiGTNmuLuMfPXv39/hdfL391etWrXUo0cPvffee077AnPX+7MoSmpt6enpmjRpkkaMGCFPT888r9XNJmcEn82bN+vBBx+Un5+fQkJCNHToUF26dKlYtY8dO1aNGjWSv7+/fH19FRERoREjRug///mPvd+IESP03nvv6ZtvvrnlmvH74u3uAv4Ifv31V3l7/9+i3rx5s8aOHav+/fvrjjvucOh76NAheXq6Jt/NmDHD4R/MJ598oqVLl+rVV19VxYoV7e2RkZEuGb80WLJkifbv36+4uDh3l5Ivm82m//mf/5F0/X11/Phx/etf/1KPHj3Upk0bffjhhwoMDLT3//zzz4s9RkHvz4Lc+D53BXd9dgrz9ttv69q1a/r73/8uSXriiScUHR1tvz8lJUWjR4/W4MGD9ac//cneHh4efkvj7tmzR+3atVO9evU0ffp0/fjjj5o6daqOHDmiTz/9tND5f/jhB0VHR+vEiROKiYnR4MGDVbZsWe3du1f//Oc/tWrVKh0+fFiS1LhxYzVr1kzTpk3T//7v/95S3fh9IUjcBj4+PkXua7PZXFZHt27dHG6fOnVKS5cuVbdu3RQaGuqycd3p8uXL8vPzc3cZTqvD29tbffr0cWh75ZVXNHHiRCUkJGjQoEFavny5/b6yZcve8pgFycnJUVZWlnx8fIr1PncFV352CjN//nx17drVvgxatmypli1b2u/fsWOHRo8erZYtW+Z5/W7FCy+8oODgYK1fv94eIENDQzVo0CB9/vnnat++/U3nvXbtmrp3767Tp09r/fr1evDBBx3uHz9+vCZNmuTQ1rNnTyUmJuqtt96Sv7+/054HSjc2bRjq37+//P39dfLkSXXr1k3+/v6qVKmSnnvuOWVnZzv0/e224zFjxmj48OGSpLCwMPsqzmPHjknKu533l19+0XPPPaeGDRvK399fgYGB6tSpk0tXLy5atEhNmzaVr6+vypcvr169eik1NdWhT5s2bRQREaG9e/eqdevW8vPzU+3atfXuu+9KkjZs2KAWLVrI19dX99xzj7744guH+XO3nx88eFA9e/ZUYGCgKlSooGHDhunKlSu3VNPOnTvVqlUr+fn56YUXXpAkffjhh+rcubOqVasmm82m8PBwjRs3zuG1atOmjT7++GMdP37c/rrkBqzczVu5r1Ou9evXy8PDQ+vXry9SHZmZmUpMTFTt2rVls9lUvXp1Pf/888rMzCz6C5SPkSNHqn379lq5cqX9F2RuLTfuIzFz5kw1aNBAfn5+Cg4OVrNmzbRkyRJJhb8/PTw8NGTIEC1evFgNGjSQzWbTmjVr7Pflty/QuXPnCnyNC9q/51Y+O9L1X9wxMTEqX768/Pz89MADD+jjjz926JP7Gq5YsULjx4/XXXfdJR8fH7Vr105Hjx696TLPlZKSor179zqsgbgd0tPTlZycrD59+jishXr00Ufl7++vFStWFDh/7maKF198MU+IkKTAwECNHz/eoe3Pf/6zMjIylJyc7Jwngd8F1kjcguzsbHXo0EEtWrTQ1KlT9cUXX2jatGkKDw/XU089le883bt31+HDh/NsUqhUqVK+/X/44Qd98MEHiomJUVhYmE6fPq05c+aodevW+u6771StWjWnPqfx48dr1KhR6tmzpx5//HGdPXtWM2fOVKtWrbR7926H1cnnz5/XQw89pF69eikmJkazZs1Sr169tHjxYsXFxenJJ5/UI488oilTpqhHjx5KTU1VQECAw3g9e/ZUaGiokpKStHXrVr3++us6f/68w6rT4tT0888/q1OnTurVq5f69OmjKlWqSLoeBPz9/RUfHy9/f399+eWXGj16tNLT0zVlyhRJ0osvvqi0tDT9+OOPevXVVyXJ+FdXfnXk5OSoa9eu2rRpkwYPHqx69epp3759evXVV3X48GF98MEHRmPl6tu3rz7//HMlJyfr7rvvzrfPvHnzNHToUPXo0cP+hb53715t27ZNjzzySJHen19++aVWrFihIUOGqGLFioWuzSrKa1wUxf3snD59WpGRkbp8+bKGDh2qChUqaOHCherataveffdd/fWvf3XoP3HiRHl6euq5555TWlqaJk+erN69e2vbtm0F1rV582ZJUpMmTYr1fH7r0qVL+QboG5UpU0ZBQUGSpH379unatWtq1qyZQ5+yZcvqvvvu0+7duwt8rI8++kjS9fdNUdWvX1++vr766quv8iw//IFZKNT8+fMtSdb27dvtbf369bMkWS+//LJD38aNG1tNmzZ1aJNkJSYm2m9PmTLFkmSlpKTkGatmzZpWv3797LevXLliZWdnO/RJSUmxbDabw9gpKSmWJGv+/PlFfl431nHs2DHLy8vLGj9+vEO/ffv2Wd7e3g7trVu3tiRZS5YssbcdPHjQkmR5enpaW7dutbd/9tlneWpLTEy0JFldu3Z1GOsf//iHJcn65ptvjGuaPXt2nud6+fLlPG1PPPGE5efnZ125csXe1rlzZ6tmzZp5+ua+B258zdatW2dJstatW1doHe+8847l6elp/fvf/3Zonz17tiXJ+uqrr/KM+1v9+vWzypUrd9P7d+/ebUmynnnmGYdaWrdubb/9l7/8xWrQoEGB4xT0/sx9fb/99tt87/vt+7yor3FB791b+ezExcVZkhyW98WLF62wsDArNDTU/rnKfQ3r1atnZWZm2vu+9tprliRr3759ecb6rZdeesmSZF28ePGmfbZv317g5zP3/0lh029fy5UrV1qSrI0bN+Z5vJiYGCskJKTAuhs3bmwFBQUV2Cc/d999t9WpU6diz4ffLzZt3KInn3zS4faf/vQn/fDDD057fJvNZt+BLDs7Wz///LP8/f11zz33aNeuXU4bR5Lef/995eTkqGfPnjp37px9CgkJUZ06dbRu3TqH/v7+/urVq5f99j333KM77rhD9erVU4sWLeztuX/nt1xiY2Mdbj/99NOSru8IalKTzWbTgAED8ozj6+tr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\n",
            "text/plain": [
              "<Figure size 640x480 with 2 Axes>"
            ]
          },
          "metadata": {
            "tags": []
          }
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "IY5q-1jJwqX5",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 435
        },
        "outputId": "0d03f716-b1a2-4aef-a895-0e7794c5ef0d"
      },
      "source": [
        "\n",
        "\n",
        "\n",
        "for n in range(1,len(time)):\n",
        "\n",
        "  # plt.clf()\n",
        "\n",
        "  t = t + dt\n",
        "\n",
        "  Tc = T\n",
        "\n",
        "  for i in range(1,(Nx-1)):\n",
        "\n",
        "    for j in range(1,(Ny - 1)):\n",
        "\n",
        "      T[i,j] = Tc[i,j] + (dt*K[i,j]/(rho*cp))*((Tc[i-1,j] + Tc[i,j-1] -4*Tc[i,j] + Tc[i+1,j] + Tc[i,j+1])/(dx**2))\n",
        "\n",
        "  \n",
        "  #Source Term\n",
        "  # Sx = np.round(7*Nx/Lx) \n",
        "  # Sy = np.round(3*Ny/Ly)\n",
        "\n",
        "  if t<5:\n",
        "\n",
        "    T[7,3] = T[7,3] + dt*1000/(rho*cp)\n",
        "  \n",
        "  #Boundary conditions\n",
        "\n",
        "  #Dirichlet\n",
        "  T[0,:] = 0\n",
        "  T[49,:] = 0\n",
        "  T[:,0] = 0\n",
        "\n",
        "  #Neuman\n",
        "  T[:,-1] = T[:,-2]\n",
        "\n",
        "  plt.contourf(X,Y,T)\n",
        "\n",
        "\n",
        "\n",
        "\n",
        "\n",
        "  "
      ],
      "execution_count": 76,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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/elPuvjiiwdfVFmZbrrpJg0ZYvwIFMT1YROuC3twXdiD68IeUV4XsTzNWJJWrVqlp556SkeOHNHVV1+tlStXavr06XFcFAAA8ExsgQIAAFAo3osHAABYh0ABAADWIVAAAIB1CBQAAGAd6wJl9erVuvzyyzV06FBNnz5dO3bsML2k4LS0tGjatGmqrKzUqFGjNHfuXLW2tppeFiQ98cQTKikp0aJFi0wvJViHDx/WHXfcoZEjR6qiokKTJ0/Wrl27TC8rOJ2dnWpublZDQ4MqKio0duxYPfroo+J5H/HbsmWL5syZo9raWpWUlOjNN9/s9d/T6bQefvhhjRkzRhUVFWpsbNSXX36Z9+VYFSivv/66Fi9erEceeUR79uzRlClTNGvWLB07dsz00oKyefNmNTU16eOPP9bGjRv13//+V7fccotOnz5temlB27lzp1544QVdddVVppcSrOPHj2vmzJm66KKL9O677+rzzz/X008/reHDh5teWnBWrFihNWvWaNWqVfr73/+uFStW6Mknn9Rzzz1nemneO336tKZMmaLVq1dn/e9PPvmkVq5cqeeff17bt2/XsGHDNGvWLH333Xf5XVDaItdff326qamp++POzs50bW1tuqWlxeCqcOzYsbSk9ObNm00vJVgnT55Mjxs3Lr1x48b0j370o/TChQtNLylIDz74YPrGG280vQyk0+nZs2en77777l6f+/nPf56eN2+eoRWFSVJ6w4YN3R93dXWlR48enX7qqae6P3fixIl0KpVKv/rqq3l9b2smKGfOnNHu3bvV2NjY/bnS0lI1NjZq27ZtBleGtrY2SYrsHSqRv6amJs2ePbvX/QPJe/vttzV16lTddtttGjVqlK655hq9+OKLppcVpBkzZmjTpk3av3+/JOnTTz/V1q1b9ZOf/MTwysJ24MABHTlypNdjVXV1taZPn573Xm7N6wJ/88036uzsVE1NTa/P19TU6IsvvjC0KnR1dWnRokWaOXOmJk2aZHo5QXrttde0Z88e7dy50/RSgvf1119rzZo1Wrx4sR566CHt3LlTCxYsUHl5uebPn296eUFZsmSJ2tvbNWHCBJWVlamzs1PLly/XvHnzTC8taEeOHJGkrHt55r/lyppAgZ2ampq0b98+bd261fRSgnTo0CEtXLhQGzdu1NChQ00vJ3hdXV2aOnWqHn/8cUnSNddco3379un5558nUBL2xhtv6JVXXtH69es1ceJE7d27V4sWLVJtbS3XhSesOcRzySWXqKysTEePHu31+aNHj2r06NGGVhW2e++9V++8844++OADXXrppaaXE6Tdu3fr2LFjuvbaazVkyBANGTJEmzdv1sqVKzVkyBB1dnaaXmJQxowZoyuvvLLX56644godPHjQ0IrC9cADD2jJkiW6/fbbNXnyZN155526//771dLSYnppQcvs11Hs5dYESnl5ua677jpt2rSp+3NdXV3atGmTbrjhBoMrC086nda9996rDRs26G9/+5saGhpMLylYN998sz777DPt3bu3+9/UqVM1b9487d27V2VlZaaXGJSZM2f2ecr9/v37ddlllxlaUbi+/fZblZb23sLKysrU1dVlaEWQpIaGBo0ePbrXXt7e3q7t27fnvZdbdYhn8eLFmj9/vqZOnarrr79ezz77rE6fPq277rrL9NKC0tTUpPXr1+utt95SZWVl93HD6upqVVRUGF5dWCorK/uc+zNs2DCNHDmSc4IMuP/++zVjxgw9/vjj+sUvfqEdO3Zo7dq1Wrt2remlBWfOnDlavny56uvrNXHiRH3yySd65plndPfdd5temvdOnTqlr776qvvjAwcOaO/evRoxYoTq6+u1aNEiPfbYYxo3bpwaGhrU3Nys2tpazZ07N78LiuqpRlF57rnn0vX19eny8vL09ddfn/74449NLyk4krL+W7dunemlIZ3macaG/eUvf0lPmjQpnUql0hMmTEivXbvW9JKC1N7enl64cGG6vr4+PXTo0PT3v//99B/+8Id0R0eH6aV574MPPsi6R8yfPz+dTp97qnFzc3O6pqYmnUql0jfffHO6tbU178spSad52T0AAGAXa85BAQAAyCBQAACAdQgUAABgHQIFAABYh0ABAADWIVAAAIB1CBQAAGAdAgUAAFiHQAEAANYhUAAAgHUIFAAAYJ3/B0x0PR6hv1mSAAAAAElFTkSuQmCC\n",
            "text/plain": [
              "<Figure size 640x480 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": []
          }
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "vDWs6sPU0ZFn",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 469
        },
        "outputId": "9be8fb85-f51a-4552-ecc5-f6efd02f7ec6"
      },
      "source": [
        "plt.contourf(X,Y,T)\n",
        "plt.colorbar()\n",
        "plt.title('Final Temperature Distribution')"
      ],
      "execution_count": 79,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "Text(0.5, 1.0, 'Final Temperature Distribution')"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 79
        },
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\n",
            "text/plain": [
              "<Figure size 640x480 with 2 Axes>"
            ]
          },
          "metadata": {
            "tags": []
          }
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "jVrZes8P5f7u",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        ""
      ],
      "execution_count": null,
      "outputs": []
    }
  ]
}